package vip.pwztx.api.result;

import lombok.Data;
import lombok.experimental.Accessors;

/**
 * 分页结果类
 *
 * @author zhoubaohua
 * @date 2020/10/14
 */
@Data
@Accessors(chain = true)
public class PageResult {

    /**
     * 结果代码
     */
    private int code;

    /**
     * 提示消息
     */
    private String message;

    /**
     * 数据
     */
    private Object data;

    /**
     * 页码
     */
    private int pageNo;

    /**
     * 页容量
     */
    private int pageSize;

    /**
     * 所有数量
     */
    private int total;

    /**
     * 当前数量
     */
    private int currentSize;

    /**
     * 成功结果返回
     *
     * @param data        业务数据
     * @param pageNo      页码
     * @param pageSize    页容量
     * @param total       总数量
     * @param currentSize 当前数量
     * @return 结果类
     */
    public static PageResult success(Object data, int pageNo, int pageSize, int total, int currentSize) {
        return new PageResult()
                .setCode(ResultCodeEnum.SUCCESS.code())
                .setMessage("操作成功")
                .setData(data)
                .setPageNo(pageNo)
                .setPageSize(pageSize)
                .setTotal(total)
                .setCurrentSize(currentSize);
    }
}
